<?php

class GroupsController extends AppController {
	var $name = 'Groups';
	var $components = array ('Pagination');
	var $helpers = array('Html','Form','Accessibility','Pagination','Associations');

	function index() {
		$title = 'Grupos';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		


		$groups = $this->Group->find('all',array('order' => array('Group.name')));
		$this->set('groups', $groups);
	}

	function view( $id=null ) {
		if (!$id) $this->redirect('/groups');
		
		$title = 'Visualizar grupo';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		
		$this->Group->id = $id;
		$this->set('group', $this->Group->read());
	}

	function add() {
		$title = 'Cadastrar grupo';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		


		$permissions = $this->Group->Permission->find('list',array('order' => array('Permission.name')));
		$this->set('permissions', $permissions);
		
		if (!empty($this->data)) {
			if ($this->Group->save($this->data)) { 
				$this->Group->save($this->data['Permission']);
				$_SESSION['mensagem']['success'][] = 'Group cadastrado com sucesso!';
				$this->redirect('/groups/view/'.$this->Group->getLastInsertId());
			} else {
				$_SESSION['mensagem']['error'][] = 'Erro ao tentar cadastrar o group.';
			}
			$this->redirect('/groups');
		}
	}

	function edit( $id=null) {
		if (!$id) $this->redirect('/groups');
		
		$title = 'Editar grupo';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		
		$permissions = $this->Group->Permission->find('list',array('order' => array('Permission.name')));
		$this->set('permissions', $permissions);
		
		$this->Group->id = $id;
		if (empty($this->data)) {
			$this->data = $this->Group->read();
		} else {
			if ($this->Group->save($this->data['Group'])) {
				$this->Group->save($this->data['Permission']);
				$_SESSION['mensagem']['success'][] = 'Grupo alterado com sucesso!';
			} else {
				$_SESSION['mensagem']['error'][] = 'Erro ao tentar alterar o group.';
			}
			$this->redirect('/groups/view/'.$id);
		}
		$group = $this->Group->find(array('`Group`.id' => $id));
		$this->set('group', $group);
	}

	function delete($id) {
		if (!$id) $this->redirect('/groups');
		if ($this->Group->del($id)) {
			$_SESSION['mensagem']['success'][] = 'Group excluido com sucesso!';
		} else {
			$_SESSION['mensagem']['error'][] = 'Erro ao tentar excluir o group.';
		}
		$this->redirect('/groups');
	}
}
